package com.example.permissionsystem1_1.businessFunction.service.interfaces;

import com.example.permissionsystem1_1.businessFunction.service.entity.reqModel.departmentInfoReqModel.*;
import com.example.permissionsystem1_1.businessFunction.service.entity.reqModel.userInfoReqModel.*;
import com.example.permissionsystem1_1.businessFunction.service.entity.rspModel.departmentInfoRspModel.*;
import com.example.permissionsystem1_1.businessFunction.service.entity.rspModel.userInfoRspModel.*;
import com.example.permissionsystem1_1.common.businessFunction.BaseService;

public interface UserInfoService extends BaseService {
    /** 新增一条记录 */
    UserInfoInsertRspModel insert(UserInfoInsertReqModel reqModel);
//    /** 批量新增多条记录 */
//    TestInsertBatchRspModel insertBatch(TestInsertBatchReqModel reqModel);
    /** 根据id删除一条记录 */
    UserInfoDeleteByIdRspModel deleteById(UserInfoDeleteByIdReqModel reqModel);
//    /** 根据给定的字段值删除符合条件的多条记录 */
//    TestDeletesRspModel deletes(TestDeletesReqModel reqModel);
//    /** 根据id集合删除多条记录 */
//    TestDeleteBatchByIdsRspModel deleteBatchByIds(TestDeleteBatchByIdsReqModel reqModel);
    /** 根据id修改一条记录 */
    UserInfoUpdateByIdRspModel updateById(UserInfoUpdateByIdReqModel reqModel);
//    /** 根据指定的byTestPo中的属性为选择条件,按照setTestPo中的属性进行修改符合条件的多条记录 */
//    TestUpdatesRspModel updates(TestUpdatesReqModel reqModel);
//    /** 根据指定多个ids,来批量修改多条记录 */
//    TestUpdateBatchByIdsRspModel updateBatchByIds(TestUpdateBatchByIdsReqModel reqModel);
    /** 根据指定id查询一条记录 */
    UserInfoSelectByIdRspModel selectById(UserInfoSelectByIdReqModel reqModel);
    /** 根据指定的条件查询符合条件的多条记录 */
    UserInfoSelectsRspModel selects(UserInfoSelectsReqModel reqModel);
//    /** 根据多个id查询多条记录 */
//    TestSelectBatchByIdsRspModel selectBatchByIds(TestSelectBatchByIdsReqModel reqModel);
    /** 分页查询多条记录 */
    UserInfoSelectPageRspModel selectPage(UserInfoSelectPageReqModel reqModel);

    //自定义业务功能方法

    /**
     * 用户登录校验
     * @param reqModel
     * @return
     */
    UserLoginRspModel userLogin(UserLoginReqModel reqModel);

}
